package it.univaq.disim.mwt.business;

import it.univaq.disim.mwt.business.model.Alunno;
import it.univaq.disim.mwt.business.model.Classe;
import it.univaq.disim.mwt.business.model.Corso;
import it.univaq.disim.mwt.business.model.Diplomato;
import it.univaq.disim.mwt.business.model.Evento;
import it.univaq.disim.mwt.business.model.Genitore;
import it.univaq.disim.mwt.business.model.Insegnante;
import it.univaq.disim.mwt.business.model.Laboratorio;
import it.univaq.disim.mwt.business.model.Materia;
import it.univaq.disim.mwt.business.model.PersonaleAta;
import it.univaq.disim.mwt.business.model.PersonaleSegreteria;
import it.univaq.disim.mwt.business.model.Preside;
import it.univaq.disim.mwt.business.model.RegistroDiClasse;
import it.univaq.disim.mwt.business.model.Sezione;
import it.univaq.disim.mwt.business.model.TipologiaLaboratorio;
import it.univaq.disim.mwt.business.model.TipologiaNotaDisciplinare;
import it.univaq.disim.mwt.business.model.TipologiaPersonaleAta;
import it.univaq.disim.mwt.business.model.TipologiaSegreteria;
import it.univaq.disim.mwt.business.model.VicePreside;

public interface SegreteriaService {

	//CRUD ALUNNO
	public boolean inserisciAlunno(Alunno alunno);
	public boolean modificaAlunno(Alunno alunno);
	public boolean rimuoviAlunno(Alunno alunno);
	
	//CRUD GENITORE
	boolean inserisciGenitore(Genitore genitore);
	boolean modificaGenitore(Genitore genitore);
	boolean rimuoviGenitore(Genitore genitore);
	
	//CRUD PROFESSORE
	boolean inserisciInsegnante(Insegnante insegnante);
	boolean modificaInsegnante(Insegnante insegnante);
	boolean rimuoviInsegnante(Insegnante insegnante);
	
	//CRUD VICE-PRESIDE
	boolean inserisciVicePreside(VicePreside vicePreside);
	boolean modificaVicePreside(VicePreside vicePreside);
	boolean rimuoviVicePreside(VicePreside vicePreside);
	
	//CRUD VICE-PRESIDE
	boolean inserisciPreside(Preside preside);
	boolean modificaPreside(Preside preside);
	boolean rimuoviPreside(Preside preside);
	
	//CRUD DIPLOMATI
	boolean inserisciDiplomato(Diplomato diplomato);
	boolean modificaDiplomato(Diplomato diplomato);
	boolean rimuoviDiplomato(Diplomato diplomato);
	
	//CRUD CLASSE	
	boolean inserisciClasse(Classe classe);
	boolean modificaClasse(Classe classe);
	boolean rimuoviClasse(Classe classe);
	
	//CRUD SEZIONE
	boolean inserisciSezione(Sezione sezione);
	boolean modificaSezione(Sezione sezione);
	boolean rimuoviSezione(Sezione sezione);
	
	//CRUD CORSO
	boolean inserisciCorso(Corso corso);
	boolean modificaCorso(Corso corso);
	boolean rimuoviCorso(Corso corso);
	
	//CRUD ATA
	boolean inserisciPersonaleAta(PersonaleAta personaleAta);
	boolean modificaPersonaleAta(PersonaleAta personaleAta);
	boolean rimuoviPersonaleAta(PersonaleAta personaleAta);
	
	//CRUD PERSONALE SEGRETERIA
	boolean inserisciPersonaleSegreteria(PersonaleSegreteria personaleSegreteria);
	boolean modificaPersonaleSegreteria(PersonaleSegreteria personaleSegreteria);
	boolean rimuoviPersonaleSegreteria(PersonaleSegreteria personaleSegreteria);
	
	//CRUD LABORATORIO
	boolean inserisciLaboratorio(Laboratorio laboratorio);
	boolean modificaLaboratorio(Laboratorio laboratorio);
	boolean rimuoviLaboratorio(Laboratorio laboratorio);
	
	//Crud Materie
	boolean inserisciMateria(Materia materia);
	boolean modificaMateria(Materia materia);
	boolean rimuoviMateria(Materia materia);
	
	//upload POF
	boolean uploadPOF();
	
	//crud eventi
	boolean inserisciEvento(Evento eventi);
	boolean modificaEvento(Evento eventi);
	boolean rimuoviEvento(Evento eventi);
	
	//crud tipologia segreteria
	boolean inserisciTipologiaSegreteria(TipologiaSegreteria tipologiaSegreteria);
	boolean modificaTipologiaSegreteria(TipologiaSegreteria tipologiaSegreteria);
	boolean rimuoviTipologiaSegreteria(TipologiaSegreteria tipologiaSegreteria);
	
	//crud tipologia personale ata
	boolean inserisciTipologiaPersonaleAta(TipologiaPersonaleAta tipologiaPersonaleAta);
	boolean modificaTipologiaPersonaleAta(TipologiaPersonaleAta tipologiaPersonaleAta);
	boolean rimuoviTipologiaPersonaleAta(TipologiaPersonaleAta tipologiaPersonaleAta);
	
	//crud tipologia note disciplianari
	boolean inserisciTipologiaNoteDisciplinari(TipologiaNotaDisciplinare tipologiaNoteDisciplinari);
	boolean modificaTipologiaNoteDisciplinari(TipologiaNotaDisciplinare tipologiaNoteDisciplinari);
	boolean rimuoviTipologiaNoteDisciplinari(TipologiaNotaDisciplinare tipologiaNoteDisciplinari);
	
	//crud tipologie laboratori
	boolean inserisciTipologiaLaboratorio(TipologiaLaboratorio tipologiaLaboratori);
	boolean modificaTipologiaLaboratorio(TipologiaLaboratorio tipologiaLaboratori);
	boolean rimuoviTipologiaLaboratorio(TipologiaLaboratorio tipologiaLaboratori);
	
	//crud registro di classe
	boolean inserisciRegistroDiClasse(RegistroDiClasse registroDiClasse);
	boolean modificaRegistroDiClasse(RegistroDiClasse registroDiClasse);
	boolean rimuoviRegistroDiClasse(RegistroDiClasse registroDiClasse);
	
	//crud registro personale
	
}